package com.fusheng.demo.test

import android.text.format.DateUtils
import android.util.Log
import java.io.BufferedReader
import java.io.File
import java.io.FileOutputStream
import java.io.IOException
import java.text.SimpleDateFormat
import java.util.*
import kotlin.collections.ArrayList

/**
 * 临时定位问题日志辅助工具
 */
object TempLogUtil {

    var fileName = "TLOG_${getDate()}.txt"

    init {
//        LogUtils.generateLogFile(fileName, "--start---")

    }


    private fun getDate(): String {
        val d = Date()
        return SimpleDateFormat("yyyyMMdd").format(d)
    }


    fun executeLogcatInfo() {
        //第一个是Logcat ，也就是我们想要获取的log日志
//        ThreadUtils.executeByCached<Void>(object : SimpleTask<Void?>() {
//            override fun doInBackground(): Void? {
//                var os: FileOutputStream? = null
//                try {
//                    //新建一个路径信息
//                    val files = File(KLog.getConfig().dir + fileName)
//
//                    val commandLine:ArrayList<String> = ArrayList<String>()
//                    commandLine.add("logcat")
//                    // 使用该参数可以让logcat获取日志完毕后终止进程
//                    commandLine.add("-d")
//                    // 打印设置
//                    commandLine.add("-v")
//                    commandLine.add("time")
//                    // 输出文件设置
//                    commandLine.add("-f") //如果使用commandLine.add(">");是不会写入文件，必须使用-f的方式
//                    commandLine.add(files.absolutePath)
//                    val process = Runtime.getRuntime().exec(commandLine.toTypedArray() as Array<String?>)
//                    val istream = process.inputStream
//
//                    Log.e("MMMMMM", "${files.exists()} ,${files.absoluteFile}")
//
//                    os = FileOutputStream(files);
//                    var len: Int
//                    var buf = ByteArray(1024);
//                    while (istream.read(buf).also { len = it } != -1) {
//                        os.write(buf, 0, len);
//                        os.flush()
//                    }
//
//                    Log.e("MMMMMM", "----------")
//                } catch (e: Exception) {
//                    e.printStackTrace()
//                    Log.e("MMMMMM", "-----3-----${e.printStackTrace()}")
//                } finally {
//                    if (null != os) {
//                        try {
//                            os.close();
//                            os = null;
//                        } catch (e: IOException) {
//                            // Do nothing
//                        }
//                    }
//
//                    Log.e("MMMMMM", "-----4-----")
//                }
//                return null
//            }
//        })
    }


}